/*
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved.
 */
package com.icinfo.cloud.provider.punish.ucase.punishinform.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.icinfo.cloud.common.core.Validator.BaseGroup;
import com.icinfo.cloud.provider.punish.ucase.punishinform.vo.CaseCollectiveDiscussUserVo;
import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;
import java.util.Set;

/**
 * 描述:  case_collective_discuss 对应的DTO类.<br>
 *
 * @author framework generator
 * @date 2022年02月17日
 */
@Data
public class CaseCollectiveDiscussUserListDto {

    /**
     * 案件id
     */
    @NotBlank(message = "案件id不能为空")
    private String caseId;
    /**
     * 文书目录编码不能
     */
    @NotBlank(message = "文书目录编码不能为空")
    private String documentCatalogCode;
    /**
     * 主持人可选择列表
     */
    @NotNull(message = "主持人不能为空",groups = BaseGroup.Update.class)
    @Size(min = 1,max = 1,message = "请选择一个主持人")
    private Set<CaseCollectiveDiscussUserVo> hostList;

    /**
     * 出席人员可选择列表
     */
    @NotNull(message = "出席人员不能为空",groups = BaseGroup.Update.class)
    @Size(min = 1,message = "出席人员不能为空")
    private Set<CaseCollectiveDiscussUserVo> attendPersonList;

    /**
     * 列席人员
     */
    @NotNull(message = "列席人员不能为空",groups = BaseGroup.Update.class)
    @Size(min = 1,message = "列席人员不能为空")
    private Set<CaseCollectiveDiscussUserVo> lxPersonList;

    /**
     * 汇报人员
     */
    @NotNull(message = "汇报人员不能为空",groups = BaseGroup.Update.class)
    @Size(min = 1,max = 1,message = "汇报人员只能选一个")
    private Set<CaseCollectiveDiscussUserVo> reportPerson;

    /**
     * 记录人员
     */
    @NotNull(message = "记录人员不能为空",groups = BaseGroup.Update.class)
    @Size(min = 1,max = 1,message = "记录人员只能选一个")
    private Set<CaseCollectiveDiscussUserVo> recordPerson;

    /**
     * 讨论开始时间
     */
    @NotNull
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date discussStartTime;

    /**
     * 讨论结束时间
     */
    @NotNull
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date discussEndTime;

}